package br.siseventos.managed;

import br.siseventos.model.TbEvento;
import br.siseventos.model.util.EnumHelper;
import br.siseventos.service.EventoService;
import java.io.Serializable;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

@ManagedBean(name = "homeBean")
@ViewScoped
public class HomeBean extends BaseBean {
    // Campos

    private List<TbEvento> eventos;

    public HomeBean() {
        // Configurando os serviços
        setupServices();
    }
    // Serviços
    private EventoService eventoService;

    // Construtor
    // Action e Listeners
    // Getter e Setters
    public List<TbEvento> getEventos() {
        if (eventos == null) {
            try {
                eventos = eventoService.consultarPorStatus(new EnumHelper.EnumStatusEvento[]{EnumHelper.EnumStatusEvento.ConfirmadoNaoRealizado});
            } catch (Exception e) {
            }
        }
        return eventos;
    }

    public void setEventos(List<TbEvento> eventosAnunciados) {
        this.eventos = eventosAnunciados;
    }
    // Util

    public void setupServices() {
        eventoService = new EventoService();
    }

    public String inscricaoUrl(int idEvento) {
        return String.format("redirect('%s')", String.format("%s/paginas/publico/inscrever.xhtml?ie=%s",
                FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath(), idEvento));
    }
}
